#include <iostream>
#include <functional>
using namespace std;
class Element {
public:
    int id;
    Element(int _num = 0) :id(_num) { ; }
    Element(const Element &_e) :id(_e.id) { ; }
    Element &operator=(const Element &other) { this->id = other.id; return *this; }
    bool operator<(const Element &other) {
        return this->id < other.id;
    }
    bool operator<=(const Element &other) {
        return this->id <= other.id;
    }
    bool operator>=(const Element &other) {
        return !(*this < other);
    }
    bool operator>(const Element &other) {
        return !(*this <= other);
    }
    bool operator==(const Element &other) {
        return this->id == other.id;
    }

    bool operator!=(const Element &other) {
        return !(*this == other);
    }
};
typedef function<void(const Element &)> ProcessElement;
void printElement(const Element &e) {
    cout << e.id << " ";
}